﻿using FileManagerSystem.Extend;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace FileManagerSystem.Controllers
{
    /// <summary>
    /// 数据接口基控制器
    /// 所有接口继承该控制器
    /// 备注:继承
    /// 1.Get请求，可以分参数接收，也可以用实体接收，需要在实体的前面加上[FromQuery]。
    /// 2.POST请求，用实体接收，针对js默认的表单提交方式，实体前面加[FromForm]；针对js的JSON格式的提交方式，实体前面什么也不加 或者 实体前面加[FromBody]
    /// </summary>
    [ApiController, Route("api/[controller]/[action]")]
    public class ApiBaseController : Controller
    {
        /// <summary>
        /// Nlog对象
        /// </summary>
        protected readonly Logger logger = LogManager.GetCurrentClassLogger();

        /// <summary>
        /// 当前http上下文
        /// </summary>
        protected readonly HttpContext httpContext;

        /// <summary>
        /// 构造函数
        /// </summary>
        public ApiBaseController()
        {
            httpContext = CoreIocExtend.GetService<IHttpContextAccessor>().HttpContext;
        }
    }
}
